package org.example.fastproject.web.sys.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.example.fastproject.core.bean.PageParam;
import org.example.fastproject.web.sys.model.SysFile;
import com.baomidou.mybatisplus.extension.service.IService;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;

/**
 * <p>
 * 文件记录表 服务类
 * </p>
 *
 * @author 王海舟
 * @since 2023-02-01 10:56:41
 */
public interface SysFileService extends IService<SysFile> {
    /**
     * 文件上传
     * @param multipartFile
     * @return
     */
    Long upload(MultipartFile multipartFile,boolean isPublic) throws IOException;

    /**
     * 文件下载
     * @param fileId
     */
    void download(Long fileId) throws IOException;

    /**
     * 分页获取文件记录列表
     */
    Page<SysFile> page(PageParam param);

}
